package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 会员日志实体类，用于存储每天会员活动的统计数据。
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "member_log")
public class MemberLog {

    /**
     * 日期，记录的日志对应的日期。
     */
    @ApiModelProperty(value = "日期", example = "2023-01-01")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date date;

    /**
     * 年份，记录的日志对应的年份。
     */
    @ApiModelProperty(value = "年份", example = "2023")
    private int year;

    /**
     * 月份，记录的日志对应的月份，范围从1到12。
     */
    @ApiModelProperty(value = "月份", example = "1")
    private int month;

    /**
     * 日，记录的日志对应的具体日期，范围从1到31。
     */
    @ApiModelProperty(value = "日", example = "1")
    private int day;

    /**
     * 当天的注册人数，当天新注册的会员数量。
     */
    @ApiModelProperty(value = "当天的注册人数", example = "100")
    private int registrationNum = 0;

    /**
     * 当天的实名认证人数，当天完成实名认证的会员数量。
     */
    @ApiModelProperty(value = "当天的实名认证人数", example = "50")
    private int applicationNum = 0;

    /**
     * 当天的认证商家人数，当天成为认证商家的会员数量。
     */
    @ApiModelProperty(value = "当天的认证商家人数", example = "10")
    private int bussinessNum = 0;
}
